A Highway Addressable Remote Transducer (HART) field bus system transmits data between devices connected to the field bus using frequency shift keyed (FSK) signals. According to the HART standard, a frequency of 1200 Hz represents bit 1, and a frequency of 2200 Hz represents bit 0. This FSK signal may additionally be superimposed onto an analog sensor signal if an existing line that carries such a signal is used as the physical medium for the field bus.
There is therefore a need to know at any time whether a given input signal contains a component modulated at 1200 HZ or whether it contains a component modulated at 2200 Hz. This is done by acquiring a set of digital samples of the input signal over a time interval and checking a spectral representation of this set of samples for the presence of 1200 Hz and 2200 Hz components.
The computing power available in each individual device on the field bus for this purpose is very modest, since the microcontroller unit (MCU) of the device plays a major role in terms of manufacturing cost and power consumption. Therefore, the frequency spectrum of the input signal is windowed into only a few discrete bins corresponding to frequencies that are integer multiples of a base frequency. This base frequency is typically 1200 Hz, so the corresponding magnitude can be extracted individually very easily without computing the magnitude of all bins of the spectrum. However, the magnitude of a signal modulated at 2200 Hz is not readily available. An approximation of this magnitude can be calculated using the Goertzel algorithm, but this is computationally expensive.